Skip to content

Add tsv mimeType support and raise clear error for xlsx in WQP#232

Draft
thodson-usgs wants to merge 1 commit into
DOI-USGS:mainfrom
thodson-usgs:fix-wqp-tsv-mimetype
Draft

Add tsv mimeType support and raise clear error for xlsx in WQP#232
thodson-usgs wants to merge 1 commit into
DOI-USGS:mainfrom
thodson-usgs:fix-wqp-tsv-mimetype

Conversation

@thodson-usgs

Copy link
Copy Markdown
Collaborator

Closes #162

Summary

  • _check_kwargs now accepts mimeType='tsv' alongside 'csv' for legacy WQP calls
  • mimeType='xlsx' raises NotImplementedError with a clear message (xlsx support is not yet implemented)
  • Any other invalid mimeType raises ValueError: Invalid mimeType. Supported options: 'csv', 'tsv'.
  • Extracted _read_wqp_response(text, kwargs) helper that replaces 9 identical pd.read_csv(..., delimiter=",") calls — uses \t delimiter when mimeType='tsv', , otherwise

Note: tsv support applies to legacy WQP calls only. WQX3.0 endpoints only support csv at this time, as noted in the original issue.

Test plan

  • test_check_kwargs updated to cover tsv (passes), xlsx (NotImplementedError), and unchanged cases
  • test_get_results_tsv added: mocks a tab-delimited response and verifies it is parsed correctly
  • All 94 unit tests pass

🤖 Generated with Claude Code

`_check_kwargs` now accepts `mimeType=tsv` alongside `csv`, defaults a
missing mimeType to csv, and raises a clear NotImplementedError for
`xlsx` that points at the csv/tsv options. `_read_wqp_csv` gained a
`delimiter` argument (tab for tsv, comma otherwise, selected by the new
`_wqp_delimiter` helper) so tsv responses parse correctly while still
preserving leading zeros on code columns; `get_results` and the shared
`_what` helper pass the mimeType-derived delimiter.

Re-authored onto main's `_what`/`_read_wqp_csv` structure (it predated the
DOI-USGS#320 what_* consolidation, the DOI-USGS#311 leading-zero fix, and the httpx
migration); the branch's stale `requests_mock` tests are replaced with
offline unit tests for the new behavior. Addresses DOI-USGS#162 (tsv support; xlsx
now fails with a clear, actionable message rather than silently).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Sjb14HkwuCydKSKMsaXsgd
@thodson-usgs thodson-usgs force-pushed the fix-wqp-tsv-mimetype branch from dd00e2c to 788bda1 Compare June 25, 2026 13:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Accommodate tsv, xlsx mimeTypes in wqp.py

1 participant